
package classes;

import static classes.GravaHorario.copiaArquivo;
import static classes.GravaHorario.criarTxt;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import javax.swing.JOptionPane;

/** Está cria um novo usuário 
 * @version 1.0
 * @author grupo
 */
public class GravaUsuário {
    GravaHorario txt = new GravaHorario();
    
    /** Este método cria uma string e armazena todos dados nela
     * para depois serem gravados e separados por um ";"
     *
     * @param usuario variavel que armazena o usuario
     * @param senha variavel que armazena a senha
     * @param tipo variavel que armazena o tip de usuario
     * @throws IOException
     */
    public static void gravarUsuario(String usuario, String senha, String tipo) throws IOException {
        String linha; // string que armazena todas as outras
        linha = (usuario + ";" + senha + ";" + tipo+";"); // string armazena tds e adiciona um token
        criarUsuario(linha); // chama o metodo exemplo da classe txt

    }

    /** Este metodo armazena no txt a string passada no método anterior
     *
     * @param valorGravado valor da string do metodo gravarusuario
     * @throws IOException
     */
    public static void criarUsuario(String valorGravado) throws IOException {
       
        FileInputStream abrirArquivo = new FileInputStream("src/classes/usuarios.txt");
        InputStreamReader streamReader = new InputStreamReader(abrirArquivo);
        BufferedReader leitor = new BufferedReader(streamReader);

        FileWriter arquivo1 = new FileWriter("src/classes/usuariosAux.txt"); //cria um txt na pasta do projeto
        PrintWriter gravar = new PrintWriter(arquivo1); // cria um objeto para gravar no txt

        String line = null;
        while ((line = leitor.readLine()) != null) {
            gravar.println(line);
        }
        gravar.println(valorGravado); // grava o parametro passado na classe
        JOptionPane.showMessageDialog(null, "usuário criado \n" + valorGravado);
        arquivo1.close();// fecha o arquivo
        gravar.close();
        abrirArquivo.close();
        streamReader.close();
        leitor.close();
        copiaArquivo("src/classes/usuariosAux.txt", "src/classes/usuarios.txt");

        
    }
    
}
